package cn.wen.javax.net.mail;

import java.io.File;
import java.util.Date;
import java.util.List;

/**
 * Title：邮件消息（接口）
 * <p>
 * Description：描述邮件消息，包括：发送者，接收者，抄送，暗送，发送时间，标题，内容，附件等。
 * <p>
 * 注：若接收者有多个（比如：40-50个以上），建议采用抄送。但即使如此，亦然有发送失败的可能，
 * 因为邮件服务器为了防止垃圾邮件产生，提高邮路畅通而设置的限制措施，超出限制范围的邮件均不予以发送。
 * <p>
 * Copyright：Copyright (c) 2010-2012
 * 
 * @author <a href="mailto:ct_wen@qq.com">ctwen</a>, 温承瑭
 * @version Revision：1.0 Date：2012/8/2 Description：初完成。
 *          <p>
 */
public interface IMailMessage {

    /**
     * @return 发送者
     */
    String getFrom() throws MailException;
    
    /**
     * @return 回复到
     */
    List<String> getReplyTo() throws MailException;
    
    /**
     * @return 接收者
     */
    List<String> getTo() throws MailException;

    /**
     * @return 抄送
     */
    List<String> getCc() throws MailException;
    
    /**
     * @return 暗送
     */
    List<String> getBcc() throws MailException;
    
    /**
     * @return 发送时间
     */
    Date getSentDate() throws MailException;
    
    /**
     * @return 标题
     */
    String getSubject() throws MailException;
    
    /**
     * @return 内容
     */
    String getText() throws MailException;
    
    /**
     * @return 附件
     */
    List<File> getAttach() throws MailException;

}
